import request from '../utils/request'

// 获取问题列表
export function getQuestions(params) {
  return request({
    url: '/api/qa/questions',
    method: 'get',
    params: {
      page: params.page || 1,
      pageSize: params.pageSize || 10,
      // 如果需要其他查询参数，在这里添加
      user_id: params.user_id
    }
  })
}

// 获取问题详情
export function getQuestionById(id) {
  return request({
    url: `/api/qa/questions/${id}`,
    method: 'get'
  })
}

// 创建问题
export function createQuestion(data) {
  // 确保数据格式符合后端要求
  const questionData = {
    title: data.title,
    content: data.content,
    tags: Array.isArray(data.tags) ? data.tags : [],
    user_id: data.user_id
  }

  return request({
    url: '/api/qa/questions',
    method: 'post',
    data: questionData
  })
}

// 更新问题
export function updateQuestion(id, data) {
  return request({
    url: `/api/qa/questions/${id}`,
    method: 'put',
    data
  })
}

// 删除问题
export function deleteQuestion(id) {
  return request({
    url: `/api/qa/questions/${id}`,
    method: 'delete'
  })
}

// 回答问题
export function createAnswer(questionId, data) {
  return request({
    url: `/api/qa/questions/${questionId}/answers`,
    method: 'post',
    data
  })
}

// 获取问题的回答列表
export function getQuestionAnswers(questionId) {
  return request({
    url: `/api/qa/questions/${questionId}/answers`,
    method: 'get'
  })
}

// 采纳回答
export function acceptAnswer(questionId, answerId) {
  return request({
    url: `/api/qa/questions/${questionId}/answers/${answerId}/accept`,
    method: 'put'
  })
} 